0622 (Sensaura Library 2215 after step 4, Sensaura Library 2135) STEP1.SYS : 1. In "AdapterDispatchPower", when entering power state D3, we should CloseStreamManager. Otherwise, system will be crashed, because Sensaura rendering timer is still working. 2. In case we go to any sleep state we disconnect the interrupt service reoutine from the interrupt. 3. Delete "retard closing StreamManager". It has no use now. 4. Solve the problem of "when Reverb is enabled and wave check box in MS volume control is muted, we still can hear the reverb sound". STEP2.SYS : 1. In private property "KSPROPERTY_CMAUDIO_MISCELLANEOUS", "FuncLimited", and "CutMSSpeakerConfig" can be get and set. STEP3.SYS : 1. Fix the problem in HCT wave driver "test case 9:36 sampling rate accuracy". When the WaveIn format is other than 44k/48k, we should fail that WaveIn capture in ValidateFormat. Then system will convert itself. STEP4.SYS : 1. Correct the noise of MicAsCenterBass, when start and stop playing. 2. Use Sensaura's new library to set 3dBBoost=TRUE, and take multiply coefficient 1.4 out. 0621 (Sensaura Library 2135) STEP1.SYS : 1. The full function chip, can be used as FuncLimited LX chip. 2. When chip is FuncLimited, delete AC3-pin in WaveCyclicSB16. 3. When use 44k rendering for SPDIFOUT, we must receive a 2 channels format from system, because the Sensaura library can't support channel mixing st this time. (if we un-check Reverb, and use MCI to play sound, the sound will be missing). 4. Correct the errors in LinInAsRear, LineInAsBass, MicAsBass. 5. In HCT test, retard closing StreamManager for 1 sec, if the sound rendering time is less than 1 sec. #define STREAM_MANAGER_DELAY_COUNT 400 // 1 unit = 2.5ms #define STREAM_MANAGER_DUE_TIME (-10000000)// 1 unit = 100ns STEP2.SYS : 1. The Matrox PCVCR problem: When recording is active, the rendering should switch to DSSPEAKER_QUAD, only when the dwSpeakerConfig is DSSPEAKER_5POINT1. STEP3.SYS : 1. When we multiply a coefficient 1.3 to the Sensaura rendered data, the value may possibly overflow (> 32767 or < -32768), so we should do the saturation in the MMX code (This is a temporally solution). STEP4.SYS : 1. When WinDVD play AC3 digital data, 039 chip use channels 1 to play, 037 use channel 0 to play, so we should mute channels 0, and 1 simultaneouly. Otherwise, noise will be heard. This solution can cover all chip version. 0620 (Sensaura Library 2135) STEP1.SYS : 1. After Sensaura rendering, multiply a coefficient 1.3 to increase the signal level for HCT test of Sensaura WDM driver. 2. only Sensaura INF exists (HCTINF is cancelled). #define VOLUME_COEFF1 13 #define VOLUME_COEFF2 20 STEP2.SYS : 1. In INF file, use "CutMSSpeakerConfig" to disconnect the speaker config from Microsoft control panel. STEP3.SYS : 1. When judging FuncLimited, chip 055 is inversed. 2. When chip is FuncLimited, ValidateFormat will fail the format, KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF. 0619 (Sensaura Library 2135) STEP1.SYS : 1. PC Speaker mute 2. Microphone recording gain control (Boost when recording) 3. When playing a 6 channel wave during recording is active, inform Sensaura and switch to 4 speakers. 4. In KSPROPERTY_CMAUDIO_MISCELLANEOUS property, add an item called, EnableSensaura, to save ADAPTER_USE_SENSAURA in registry. STEP2.SYS : 1. In KSPROPERTY_CMAUDIO_SPDIF property, add an item called, SamplingRate, to select rendering SPDIF on 44k or 48k 2. fix speaker geometry 3. fix Microphone recording gain control (stored in HWMixerExtSettings) STEP3.SYS : 1. fix the bug of "When recording is active, switch to 4 speakers" 0618 (Sensaura Library 2135) STEP1.SYS : 1. Use multiplex node and sum node to select recording source in topology. User can choose multiple sources in MS recording control (traditional 8738 way). STEP2.SYS : 1. fix the problem that 037 chip 18H D24 cannot read correctly 0617 (Sensaura Library 2135) STEP1.SYS : 1. Use multiplex node to select recording source in topology 2. "RecordMultiplex" in INF is used as the default selection (1-5) RecordMultiplex = 1 ---> Wave RecordMultiplex = 2 ---> Line In RecordMultiplex = 3 ---> Aux RecordMultiplex = 4 ---> CD RecordMultiplex = 5 ---> Microphone RecordMultiplex = 6 ---> All (Wave + LineIn + Aux + CD + Mic) 3. KSPROPERTY_CMAUDIO_CHIP_INFO can get CMI33, CMI37, CMI39, CMI55 STEP2.SYS : 1. RecordMultiplex = 6 ---> decided by RecordSettings 2. Add the following property, which is used to determine the private combined record-settings. KSPROPERTY_CMAUDIO_RECORD_SELECT = 9; 0616 (Sensaura Library 2135) STEP1.SYS : 1. Solve the problem of MCI FALSE-Multi-Channel. Use "Enable-Reverb" to control MCI 2 or 6 channels 2. Add the following properties KSPROPERTY_CMAUDIO_CHIP_INFO = 6; KSPROPERTY_CMAUDIO_CHANNEL_NUM = 7; KSPROPERTY_CMAUDIO_PLAY_6CHAN = 8; 3. Note that KSPROPERTY_CMAUDIO_PLAY_6CHAN can over-write "Enable-Reverb" in KSPROPERTY_CMAUDIO_GLOBAL_REVERB 4. Disable ForceGenerateCenter/ForceCopyMode in property page 0615 (Sensaura Library 2135) STEP1.SYS : Add a registry key, MasterVolAtten, which can cantrol the master volume Attenuation. MasterVolAtten's unit = dB, ex., 0x0001 = 1dB, 0x0002 = 2dB STEP2.SYS : Add 055 chip version judgement (by John) STEP3.SYS : 1. Mute LineIn, Aux, CD, and Mic, when volume level is 0 2. fix the bugs of reported maximum channels (=6, not 4), but 033, 037, 039_As_037 the SpeakerConfig is limited to 4 0614 (Sensaura Library 2135) STEP1.SYS : fix the bugs of speaker settings, the sound channels heard is coincident with the speaker settings in mixer.exe now. The speaker settings of direct sound is Microsoft's problem. It has no solution for the present. 0613 (Sensaura Library 2135) STEP1.SYS : Sensaura update channels.cpp, common.cpp, mintopo.cpp, shared.h, (in, ConvertLogToLin(int vol, int pan), a second augument is added) 0612 (Sensaura Library 2135) STEP1.SYS : Sensaura library updated (fixed bugs on "Soldier of Fortune", "Unreal Tournement") STEP2.SYS : 1. Force central generation on 6-channel 2. fix the bug of "AdapterCommon->QueryCapability return wrong BOOLEAN state" 3. fix the bug of "the set method of PropertyHandler_Miscellaneous always return FALSE" STEP3.SYS : 1. Microphone gain control 0611 (Sensaura Library 2133) STEP1.SYS : Wave Playback/Capture, Force CopyMode on private mixer(new dll) 0610 (Sensaura Library 2133) STEP1.SYS : some modifications from SENSAURA 0609 (Sensaura Library 2133) STEP1.SYS : h/w copy mode usage for A-A path Control enable h/w bass as 5-channel activate 0608 (Sensaura Library 2133) STEP1.SYS : add front left/right volume control to private mixer STEP2.SYS : optimise dma channel management (intermediate version) STEP3.SYS : optimise dma channel management STEP4.SYS : add chip capability query support (full function or LX/MX) 0607 (Sensaura Library 2133) STEP1.SYS : support AC/3 over S/PDIF (buggy) STEP2.SYS : bug fixed (Working on PDVD3.0, WinME, ChipVer 37/39) Mic Volume restoration after system suspension 0606 (Sensaura Library 2133) STEP1.SYS : update to Sensaura Library 2133 (fix global reverbation on 2D stream) 0605 (Sensaura Library 2128) --------- STEP1.SYS : global reverbation, surround mode bug fixed STEP2.SYS : some Sensaura bug fixed STEP3.SYS : STEP4.SYS : software volume control for 4/6 channel STEP5.SYS : global reverbation interface STEP6.SYS : restore/save all settings automatically STEP7.SYS : full-duplex review STEP8.SYS : full-duplex 037/039 optimization STEP9.SYS : some bug fixed 0604 (Sensaura Library 2120) -------- 0604.SYS : Private Property Page (support SPDIF) 0603 --------- STEP6.SYS : 6-channel playback with Sensaura Library 2113A (buggy) STEP7.SYS : 6-channel playback bypass Sensaura Library 2113A STEP8.SYS : 6-channel playback with Sensaura Library 2120